package dao;


import classes.Akcija;
import classes.Market;

import java.sql.*;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;

public class AkcijaDAO {
	@SuppressWarnings("unused")
	private final Connection c;
	private final PreparedStatement qInsert, qSelectAll, qDelete, qSelectAkcija;
	
	public AkcijaDAO(Connection c) throws Exception {
		this.c = c;
		qInsert= c.prepareStatement("INSERT INTO Akcija(idAkcija, pocetak, kraj) VALUES(null, ?,?)");
		qSelectAll = c.prepareStatement("SELECT * FROM Akcija");
		qDelete = c.prepareStatement("DELETE FROM Akcija WHERE idAkcija=?");
		qSelectAkcija = c.prepareStatement("SELECT * FROM Akcija WHERE idAkcija = ?");
	}

/**	public int insertAkcija(Akcija a) throws Exception {
		if (a==null)
			throw new Exception("Nije moguce dodati nepostojecu akciju!");
		qInsert.setDate(1, a.getPocetak());
		qInsert.setDate(2, a.getKraj());
		try{
			int r= qInsert.executeUpdate();
			return r;
		}
		catch(Exception ex){
			throw new Exception("Greska kod dodavanja akcije!");
		}
	}
	/**
	public Market selectMarket(int id) throws Exception{
		qSelectMarket.setInt(1, id);
		ResultSet rs = qSelectMarket.executeQuery();
		if(rs.next()==false)
			throw new Exception("Vratio null");
		Market m = new Market();
		m.setIdMarket(rs.getInt("idMarket"));
		m.setNaziv(rs.getString("naziv"));
		m.setUsername(rs.getString("username"));
		m.setPassword(rs.getString("password"));
		return m;
	}
	*/
	
	public List<Akcija> selectSveAkcije() throws Exception{
		ResultSet rs = qSelectAll.executeQuery();
		List<Akcija> akcije = new ArrayList<Akcija>();
		while (rs.next()){
			Akcija a = new Akcija();
			a.setIdAkcija(rs.getInt("idAkcija"));
			DateFormat df = new SimpleDateFormat("dd/MM/yyyy");
			String pocetak = df.format(rs.getDate("pocetak"));
			String kraj = df.format(rs.getDate("kraj"));
			a.setPocetak(pocetak);
			a.setKraj(kraj);
			akcije.add(a);
		}
		return akcije;
	}

	public int deleteAkcija(int id) throws Exception {
		qDelete.setInt(1, id);
		return qDelete.executeUpdate();
	}
}
